package com.gl.glcourses.model
{
	import com.gl.glcourses.events.GLCoursesEvent;
	import com.gl.glcourses.vos.Curso;
	import com.gl.glcourses.vos.Votacion;
	import com.gl.glcourses.vos.VotacionCurso;
	import com.gl.glcourses.vos.Voto;
	import com.gl.glcourses.vos.Confirmacion;
	import com.gl.glcourses.model.constants.Constants;
	
	import flash.events.MouseEvent;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	import mx.controls.DataGrid;
	
	import org.flexunit.flexui.controls.left.events.SearchBarEvent;

	public class RevisarVotacionesPanelModel extends PresentationModel
	{
		
		[Bindable]
		public var votaciones:ArrayCollection;
		[Bindable]
		public var votacionSeleccionada:Votacion;
		[Bindable]
		public var votacionCursoSeleccionada:VotacionCurso;
		/*[Bindable]
		public var votosVotacion:ArrayCollection = new ArrayCollection();*/
		private var _votosVotacion:ArrayCollection = new ArrayCollection();
		[Bindable]
		public var votosObtenidos:ArrayCollection = new ArrayCollection();
		
		public function set votosVotacion(votosVotacion:ArrayCollection):void{
			
			votosObtenidos = new ArrayCollection();
			votosObtenidos.addAll(votosVotacion);
			votosObtenidos.filterFunction = usuarioFilterFunction;
			votosObtenidos.refresh();
		}
		
		[Bindable]
		public function get votosVotacion():ArrayCollection{
			return _votosVotacion;
		}
		
		public function usuarioFilterFunction(obj:Object):Boolean{
			if( obj is Voto )
			{
				var voto:Voto = obj as Voto;
				for each( var svotacionCursoSeleccionada:VotacionCurso in votacionSeleccionada.votacionesCurso )
				{ 
				//	if( voto.votacionCurso.curso.id == svotacionCursoSeleccionada.curso.id )
					if( votacionCursoSeleccionada.curso.id == svotacionCursoSeleccionada.curso.id 
					&& voto.votacionCurso.id == votacionCursoSeleccionada.id )
					{	
						return true;
					}
				}
				return false;	
			}	
			return false;	
		}
			
	}
		
}